大厂必问的分布式究竟是什么鬼?
戳蓝字“CSDN云计算”关注我们哦!
新的一年又开始了,各大招聘咨询机构都会对过去一年市场上的人才供需进行盘点。
根据高端招聘平台100 offer发布的Java人才盘点报告,在过去的2018年,Java仍然是最流行、招聘供需量最大的技术语言。
在此基础上,互联网行业针对 Java 开发的招聘需求,也是近年技术类岗位供需量最大,且变化最稳定的。企业对 Java 工程师发放的面邀数占比也远高于其他岗位,在100 offer平台上,Java工程师的需求占总需求的近60%,可以说,在当前各大公司“裁员”的背景下,Java工程师,尤其是资深Java工程师依旧是硬通货。
什么样的工程师才能被称为资深,又如何成为资深Java工程师呢?
从工作时间来看,资深工程师一般具备3-5年工作经验,企业对有 3-5 年经验的 Java工程师,都会要求算法基础和编程能力扎实,有分布式、高并发经验优先,可独立负责一个模块的开发。在技术上一专多能,不仅限于写好 Java,还要触类旁通,对公司业务所需的新技术能快速学习运用,以一个资深Java开发招聘为例:
从上面的招聘信息可以看到几个信息:
1、即使在这个“裁员”寒冬里,企业也是愿意为有能力的资深Java工程师付费的。一个资深程序员达到50w+的待遇是没问题的。在IT届也流传着一个观点:1个优秀程序员的效率是普通程序员的10倍,但凡对于有点创新型的项目,企业宁愿付2倍的薪水去选择一个优秀程序员,也不愿意花同样的钱雇佣两个平庸的程序员。
2、聚焦到具体的技能上,企业对资深程序员的期望是什么呢?几乎所有的招聘要求都会提到:熟悉分布式系统、有分布式系统开发经验的优先。
分布式系统之所以门槛高,主要体现在三方面:
涉及到的知识面太广,各个概念又比较相似,区分度不高,比如分布式存储、分布式缓存,RPC,微服务等等,导致学习时经常混淆,有一种云里雾里的感觉;
对实践的场景要求较高,一般小的项目不会用到这些技能,能接触到分布式系统开发的程序员比例较少,即使知道些分布式相关的技术概念,也很难去落地,真正的形成技术心智,无法实践的技术很快就会被抛之脑后;
异常情况巨多,相比单机系统,分布式在每个环节上都要考虑繁杂的异常情况。比如单机系统中不存在的网络异常问题,那么在分布式系统中是家常便饭,任何一个有影响力的分布式框架都会花费大量的代码解决这些异常问题。
如果工作1~2年,想往分布式方面去深造,最重要的还是要知识系统化。通常程序员了解一个技术会有如下几个渠道:
博客论坛,比如CSDN、InfoQ这种综合性的博客论坛,也可以去关注一些个人。
官方文档,比如spring boot官方文档、apache旗下各个开源产品的官方文档质量都比较高(hbase、active mq等),国内的优秀开源项目如dubbo,文档也是很不错的。
书籍,比如《企业IT架构转型之道(钟华)》、《大规模分布式存储系统(杨传辉)》以及常见的《xxx深入浅出》之类的书都比较系统。
课程视频,这个不同的平台都有,在此就不列了。
这几种途径在知识系统化方面是逐渐提高的。不管通过哪一种方式学习,都要不断的更新自己的知识库,将这些知识串起来,形成一个有机整体,在处理分布式问题时才能得心应手。
“裁员”寒冬的季节,是淘汰低端程序员的好时机,也是自己努力的成为资深程序员的好时机,才能在面对高薪职位邀请时做到胸有成竹。
推荐阅读
1.微信群:
添加小编微信:color_ld,备注“进群+姓名+公司职位”即可,加入【云计算学习交流群】,和志同道合的朋友们共同打卡学习!
2.征稿:
投稿邮箱:liudan@csdn.net;微信号:color_ld。请备注投稿+姓名+公司职位。